package com.xinke.module.system.model.vo.user;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 部门 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DeptRespVO {

    @Schema(description = "部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30023")
    @ExcelProperty("部门id")
    private Long deptId;

    @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("部门名称")
    private String deptName;

    @Schema(description = "父部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7449")
    @ExcelProperty("父部门id")
    private Long parentId;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("显示顺序")
    private Integer showSort;

    @Schema(description = "负责人", example = "425")
    @ExcelProperty("负责人")
    private Long leaderUserId;

    @Schema(description = "联系电话")
    @ExcelProperty("联系电话")
    private String deptPhone;

    @Schema(description = "邮箱")
    @ExcelProperty("邮箱")
    private String deptEmail;

    @Schema(description = "部门状态（1正常 0停用）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("部门状态（1正常 0停用）")
    private Integer deptStatus;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
    @Schema(description = "子部门")
    private List<DeptRespVO> children;

    @Schema(description = "elementplus treeid")
    private Long id;
    @Schema(description = "elementplus tree label")
    private String label;
}